package com.lagou.homework;

import java.util.Scanner;
//编程获取两个指定字符串中的最大相同子串。
// 如： s1="asdafghjka", s2="aaasdfg" 他们的最大子串为"asd"
// 提示： 将短的那个串进行长度依次递减的子串与较长的串比较。

public class Homework1 {

    public static void main(String[] args) {
        //1.提示用户输入一串字符串
        System.out.println("请输入一串字符串");
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();

        //5.使用变量储存字符数量

        int big = 0;     //大写字符数量
        int small = 0;   //小写字符数量
        int number = 0;  //数字字符数量
        int other = 0;   // 其他字符数量

        //2.将用户输入的String字符串转换成char数组
        char[] cArr = str.toCharArray();

        //3.使用for循环遍历数组内容
        for (int i = 0; i < cArr.length; i++) {

            //4.使用if else分支语句判断数组内字符的类别
            if ('A' <= cArr[i] && cArr[i] <= 'Z') {
                big++;
            } else if ('a' <= cArr[i] && cArr[i] <= 'z') {
                small++;
            } else if ('0' <= cArr[i] && cArr[i] <= '9') {
                number++;
            } else {
                other++;
            }
        }

        //6.打印输出结果
        System.out.println("大写字母字符的数量是" + big);
        System.out.println("小写字母字符的数量是" + small);
        System.out.println("数字字符的数量是" + number);
        System.out.println("其他字符的数量是" + other);
    }
}
